﻿<Window x:Class="Quiz.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:Quiz" 
        Title="Kirchentagsquiz" Height="800" Width="1350" >
     <Window.CommandBindings>
        <!-- Es muss der Namespace  xmlns:local="clr-namespace:Quiz" eingebunden werden damit darauf zugegriffen werden kann, hier kann es durchaus zu Anzeigefehlern kommen das der Namespace nicht gefunden werden kann
        dann einfach einmal ausführen und der Namespace kann wie von Zauberhand doch gefunden werden. -->
        <CommandBinding Command="local:ShortCuts.FullScreen" Executed="CommandBinding_Executed_FullScreen"></CommandBinding>
        <CommandBinding Command="local:ShortCuts.AntwortNummer" Executed="CommandBinding_Executed_Number"></CommandBinding>
    </Window.CommandBindings>
    <Window.ContextMenu>
        <!-- Das ContextMenue für das Fensteraufbauen für alle zusätzlichen Funktionen die dem Quiz zur Verfüung stehen. -->
        <ContextMenu Name="Test">
            <MenuItem Header="Frageliste anzeigen" Click="uxListeanzeigen_Click" Name="uxListeanzeigen"></MenuItem>
            <MenuItem Header="Fragen Importieren" Click="uxFragenImportieren_Click" Name="uxFragenImportieren"></MenuItem>
            <MenuItem Header="Frage Hinzufügen" Click="uxFrageHinzufuegen_Click" Name="uxFrageHinzufuegen"></MenuItem>
            <MenuItem Header="Quiz Optionen" Click="uxQuizOptionenAnzeigen_Click" Name="uxQuizOptionenAnzeigen"></MenuItem>
        </ContextMenu>
    </Window.ContextMenu>
    <Grid Style="{StaticResource GridStyle}">
        <Grid.RowDefinitions>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="auto"></RowDefinition>
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0" HorizontalAlignment="Stretch"  Margin="0,0,0,0" Name="uxMainStackPanel"  VerticalAlignment="Stretch">
            <StackPanel HorizontalAlignment="Right" Orientation="Horizontal" Height="48"  Margin="0,20,20,0" Name="uxMenueStackPanel"  VerticalAlignment="Top">
                <Button Name="uxStartBtn" Width="48" Style="{StaticResource TransparentButton}" ToolTip="Starten eines neuen Quiz." Click="uxStartBtn_Click">
                    <Image Source="{StaticResource Start}"></Image>
                </Button>
                <Button Name="uxStopBtn" Width="48" Style="{StaticResource TransparentButton}" ToolTip="Stopen eines Quiz (ShortCut ESC)" Click="uxStopBtn_Click">
                    <Image Source="{StaticResource TestBeendet}"></Image>
                </Button>
                <Button Name="uxFullScreenBtn" Width="48" Style="{StaticResource TransparentButton}" ToolTip="Wechseln zwischen Vollbildmodus und Fenstermodus. (ShortCut F11)" Command="local:ShortCuts.FullScreen">
                    <Image Source="{StaticResource Vollbild}"></Image>
                </Button>
                <Button Name="uxCloseBtn" Width="48" Style="{StaticResource TransparentButton}" ToolTip="Beenden der Anwendung. (ShortCut ALT+F4)" Click="uxCloseBtn_Click">
                    <Image Source="{StaticResource Schliessen}"></Image>
                </Button>
            </StackPanel>

            <StackPanel HorizontalAlignment="Center"  Margin="0,0,0,0" Name="uxKTHeaderStackPanel"  VerticalAlignment="Top">
                <!-- Das aktuelle Kirchentagslogo kann hier eingefügt werden, Größenmaße k.a. mal schauen -->
            </StackPanel>

            <StackPanel HorizontalAlignment="Center" Height="128"  Margin="0,35,0,0" Name="uxBilderStackPanel" VerticalAlignment="Top">
                <!-- Stackpanel in dem die passenden Bilder angezeigt werden für die aktuelle Situation-->
                <Image x:Name="uxBilderAnzeigeImage" Source="{Binding Path=AktuellesBild}" Width="128" ></Image>
            </StackPanel>

            <StackPanel HorizontalAlignment="Center" Name="uxWeiterStackPanel" Style="{StaticResource WeiterStackPanel}">
                <!-- Textblock bei den Fragen verwenden, da hier der Text automatisch umgebrochen werden kann bei längeren Fragen -->
                <Button x:Name="uxNeusSpielBtn" Width="128" Height="128" ToolTip="Nächstes Spiel starten" Click="uxStartBtn_Click" Style="{StaticResource TransparentButton}">
                    <Image Source="{StaticResource Start}"></Image>
                </Button>
            </StackPanel>

            <StackPanel HorizontalAlignment="Center"  Margin="0,15,0,0" Name="uxFrageStackPanel"  VerticalAlignment="Top">
                <!-- Textblock bei den Fragen verwenden, da hier der Text automatisch umgebrochen werden kann bei längeren Fragen -->
                <TextBlock Name="uxFrageLb" Text="{Binding Path=AktuelleFrage.Fragetext}" Style="{StaticResource FrageTextBlock}"  HorizontalAlignment="Center" ></TextBlock>
            </StackPanel>

            <StackPanel HorizontalAlignment="Center"  Margin="0,0,0,0" Name="uxAntwortenStackPanel" VerticalAlignment="Stretch" >
                    <!-- Anzeigen der Liste mit den Antworten in einem DataTemplate -->
                <ItemsControl x:Name="uxAntwortenListBox" Style="{StaticResource AntwortListe}" VerticalAlignment="Stretch" ItemsSource="{Binding Path=AktuelleFrage.Antworten}">
                    <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Label Style="{StaticResource AntwortText}" Content="{Binding Path=AntwortPos}"></Label>
                                    <Label Style="{StaticResource AntwortText}" Content=". "></Label>
                                    <Label Style="{StaticResource AntwortText}" Content="{Binding Path=Antworttext}"></Label>
                                </StackPanel>
                            <DataTemplate.Triggers>
                            <!-- Wenn der Test beendet ist, dann wird der ListView ausgeblendet -->
                            <DataTrigger  Binding="{Binding Path=DataContext.Status, RelativeSource={RelativeSource AncestorType=Window}}" Value="Beendet">
                                    <Setter  Property="Visibility" Value="Collapsed"></Setter>
                                </DataTrigger>
                            </DataTemplate.Triggers>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </StackPanel>

            <StackPanel>
                <!-- "Temp Button der nur dafür da ist, das das KeyEvent ausgelöst wird, wenn die Fragen beantwortet werden -->
                <Button Command="local:ShortCuts.AntwortNummer" Width="0" Height="0" BorderThickness="0" Padding="0" BorderBrush="Transparent" Background="Transparent" Style="{StaticResource TransparentButton}"></Button>
            </StackPanel>
        </StackPanel>
        
        <StackPanel Grid.Row="1" HorizontalAlignment="Center" Orientation="Vertical" Margin="0,0,0,20" Name="uxQuizInfosStackPanel" VerticalAlignment="Bottom">
            <!-- Alle Information en zum aktuellen Quiz Anzahl richtig und falsch beantworteter Fragen, sowie Restzeit -->
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                <Label Content="Restzeit" Style="{StaticResource StatusAnzeige}" ></Label>
                <Label x:Name="uxVerbleibendeZeit" Style="{StaticResource StatusAnzeige}" Content="{Binding Path=RestZeit}" ></Label>
            </StackPanel>
            <StackPanel Style="{StaticResource StatusAnzeigeStackPanel}">
                <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                <Label Content="richtige Antworten" Style="{StaticResource StatusAnzeigeRichtig}" ></Label>
                <Label x:Name="uxRichtigeAntworten" Style="{StaticResource StatusAnzeigeRichtig}" Content="{Binding Path=RichtigeAntworten}"></Label>
            </StackPanel>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                    <Label Content="falsche Antworten" Style="{StaticResource StatusAnzeigeFalsch}" ></Label>
                    <Label x:Name="uxFalscheAntworten" Style="{StaticResource StatusAnzeigeFalsch}" Content="{Binding Path=FalscheAntworten}"></Label>
            </StackPanel>
                <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                <Label Content="übersprungene Antworten" Style="{StaticResource StatusAnzeige}" ></Label>
                <Label x:Name="uxUebersprungeneAntworten" Style="{StaticResource StatusAnzeige}" Content="{Binding Path=UebersprungeneAntworten}"></Label>
            </StackPanel>
            </StackPanel>
        </StackPanel>
    </Grid>
</Window>
